[XEND] Improve xm pause/unpause error reporting.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Mon, 10 Jul 2006 14:18:12 +0000 (15:18 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Mon, 10 Jul 2006 14:18:12 +0000 (15:18 +0100)
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
tools/python/xen/xend/XendDomain.py

index 8c6a4e182f4c7bb1d792bba5d8d520dc8ef63522..5f36113e30eb337a68fcb7aa1c26f88c652863b1 100644 (file)
@@ -370,10 +370,15 @@ class XendDomain:
  
     def domain_unpause(self, domid):
         """Unpause domain execution."""
+
+        dominfo = self.domain_lookup_by_name_or_id_nr(domid)
+        if not dominfo:
+            raise XendInvalidDomain(str(domid))
+
+        if dominfo.getDomid() == PRIV_DOMAIN:
+            raise XendError("Cannot unpause privileged domain %s" % domid)
+
         try:
-            dominfo = self.domain_lookup_by_name_or_id_nr(domid)
-            if not dominfo:
-                raise XendInvalidDomain(str(domid))
             log.info("Domain %s (%d) unpaused.", dominfo.getName(),
                      dominfo.getDomid())
             return dominfo.unpause()
@@ -383,10 +388,15 @@ class XendDomain:
 
     def domain_pause(self, domid):
         """Pause domain execution."""
+
+        dominfo = self.domain_lookup_by_name_or_id_nr(domid)
+        if not dominfo:
+            raise XendInvalidDomain(str(domid))
+
+        if dominfo.getDomid() == PRIV_DOMAIN:
+            raise XendError("Cannot pause privileged domain %s" % domid)
+
         try:
-            dominfo = self.domain_lookup_by_name_or_id_nr(domid)
-            if not dominfo:
-                raise XendInvalidDomain(str(domid))
             log.info("Domain %s (%d) paused.", dominfo.getName(),
                      dominfo.getDomid())
             return dominfo.pause()